﻿using DigitalHealth.PACS.Model;
using DigitalHealth.PACS.UserService.Context;
using DigitalHealth.PACS.UserService.Services;
using System.Collections.Generic;
using System.Linq;

namespace DigitalHealth.PACS.UserService.Repositories.Imp
{
    internal class PACSUserRepository : IPacsUserRepository
    {
        public UserContext UserContext { get; set; }

        public PACSUserRepository(UserContext userContext)
        {
            UserContext = userContext;
        }
        public bool UserExists(string id)
        {
            return UserContext.Users.Any(c => c.Id.ToString() == id);
        }

        public void Create(PACSUser user)
        {
            UserContext.Users.Add(user);
            UserContext.SaveChanges();
        }

        public void Delete(PACSUser user)
        {
            UserContext.Users.Remove(user);
            UserContext.SaveChanges();
        }

        public void Update(PACSUser user)
        {
            UserContext.Users.Update(user);
            UserContext.SaveChanges();
        }

        public IEnumerable<PACSUser> GetUsers()
        {
            return UserContext.Users.ToList();
        }

        public PACSUser GetUserById(string id)
        {
            return UserContext.Users.Where(u => u.UserID == id).FirstOrDefault();
        }
    }
}
